package com.neusoft.shry.dao;

import java.util.List;

import com.neusoft.shry.dto.PositionDto;
import com.zero.basic.dao.IBaseDao;
import com.zero.basic.exception.SmsDaoException;
import com.zero.basic.model.Pager;
import com.zero.mms.model.Dep;
import com.zero.mms.model.Employee;
import com.zero.mms.model.Position;

public interface PositionDao extends IBaseDao<Position> {
	//get all positions
	public List<Position> getAllPositions() throws SmsDaoException;
	
	//get a position by id
	public Position getPositionById(Integer position_id) throws SmsDaoException;
	
	//get positions by conditions
	public Pager<PositionDto> getPositionsByConditions(Integer dep_id,String dep_name,Integer position_id,String position_name,String position_type) throws SmsDaoException;
	
	//update a position
	public void updatePosition(Position position) throws SmsDaoException;
	
	//view employees in a position
	public List<Employee> viewEmpInPosition(Integer position_id) throws SmsDaoException;
	
	//get dep_name by position_id in a position
	public String getDepNameByPositionId(Integer position_id) throws SmsDaoException;
	
	//get all department
	public List<Dep> getAllDeps() throws SmsDaoException;
	

}
